Coffee Shop Full Stack
Flask server setup
Criteria | Meet Specification |
---|---|
The complete project has been submitted as a zip and demonstrates the ability to share code on git. |
All project code has been included in a single zip file.
The virtual env directory, pycache, and other local files are included in
|
The project demonstrates coding best practices. |
The code adheres to the PEP 8 style guide and follows common best practices, including:
|
The project demonstrates an understanding of restful APIs. |
All
The endpoints follow flask design principles, including
The routes perform CRUD methods on the SQLite database using the simplified interface provided.
Best efforts should be made to catch common errors with
The following endpoints are implemented:
|
The project demonstrates the ability to build a functional backend. |
The backend can be run with
|
Secure a REST API for applications
Criteria | Meet Specification |
---|---|
The project demonstrates an understanding of third-party authentication systems. |
Auth0 is set up and running at the time of submission.
All required configuration settings are included in the
|
The project demonstrates an understanding of JWTs and Role Based Authentication. |
A custom
The
|
The project demonstrates the ability to secure a system through an understanding of roles-based access control (RBAC) . |
Roles and permission tables are configured in Auth0. The JWT includes the RBAC permission claims. Barista access is limited:
Manager access is limited
The provided postman collection passes all tests when configured with valid JWT tokens.
You must export the postman collection to
|
Front end
Criteria | Meet Specification |
---|---|
The project demonstrates an understanding of how to loosely uncouple authentication and REST services. |
The frontend has been configured with Auth0 variables and backend configuration.
The
|
The project demonstrates the ability to work across the stack. |
The frontend can be run locally with no errors with
|
Tips to make your project standout:
- Create endpoints to manage users using the Auth0 API
- Barista access is limited (can do nothing)
- Manager access is limited (can manage baristas)
- Administrator access is limited (can manage baristas, managers)
-
Deploy the service to a cloud provider such as elastic beanstalk or Heroku
-
Configure Auth0 with multi-factor authentication or other social OpenIDs
-
Modify the front end with some unique styles or functionality